const { getToken, login } = require('./auth')
const  baseURL  = 'https://jknc.sanjiaomao6.fun';

function request(options) {
    return new Promise((resolve, reject) => {
        // 自动拼接 URL（如果不是完整 URL）
        const url = options.url.startsWith('http')
            ? options.url
            : baseURL + options.url

        wx.request({
            ...options,
            url, // 用拼接后的完整 URL
            header: {
                ...(options.header || {}),
                Authorization: `Bearer ${getToken()}`
            },
            success(res) {
                // 自动处理 token 过期
                if (res.statusCode === 401) {
                    login().then(() => {
                        options.header.Authorization = `Bearer ${getToken()}`
                        wx.request({ ...options, url, success: resolve, fail: reject })
                    }).catch(reject)
                } else {
                    resolve(res)
                }
            },
            fail: reject
        })
    })
}

module.exports = { request }
